Electronic calendars are increasingly used to organize our lives. Such calendars are accessed from both desktop computers and portable computing devices (e.g., laptop computers, personal digital assistants (PDAs), mobile phones, and wearable computers).
One problem with calendaring is that a plurality of constraints should be met, such as finding an open time slot for all of the participants, and finding a meeting room that is large enough, includes any needed equipment, and is located generally nearby most of the participants. Often no meeting time and location exists within a beneficial schedule range which meets all of the constraints, so certain concessions must be made on particular constraints. For example, a meeting organizer may manually determine which participants are critical and which participants are optional or can be replaced by other participants. Meeting even most of the constraints often involves manually hunting for open time slots, available conference rooms, and manually determining the time slots during which the most critical participants and a desirable conference room are available. Therefore, there is a need for an automated search system for assisting a user in scheduling and re-scheduling meetings with a plurality of constraints.